<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>注册页面</h1>
<form action="">
    <input type="text" name="username" placeholder="请输入用户名" @blur="check()">
    <span>{{info}}</span><br>
    <input type="text" name="password" placeholder="请输入密码">
    <input type="text" name="nick" placeholder="请输入昵称">
    <input type="button" value="注册" @click="reg()">
</form>

<!--引入CDN服务器的框架文件-->
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.js"></script>
<script>
    let v = new Vue({
        el: "form",
        data: {
            info: ""
        },
        methods: {
            check: function () {
                let data = new FormData(document.querySelector("form"));
                //取出form表单中的用户名
                let username = data.get("username");
                if (username.trim() == "") {
                    v.info = "用户名不能为空!";
                    return;
                }
                //从form表单中获取的数据一般请求方式为post
                axios.post("/check", data).then(function (response) {
                    v.info = response.data == 1 ? "用户名可用!" : "用户名已存在!";
                })
            },
            reg: function () {
                let data = new FormData(document.querySelector("form"));
                //发出注册请求
                axios.post("/reg", data).then(function (response) {
                    if (response.data == 1) {
                        alert("注册成功!");
                        location.href = "/";
                    } else {
                        alert("用户名已存在!");
                    }
                })
            }
        }
    })


</script>

</body>
</html>